class Solution {
public:
    vector<vector<int>> imageSmoother(vector<vector<int>>& M) {
        vector<vector<int>> ans;
        ans=M;
        vector<int> dx={1,1,1,0,0,0,-1,-1,-1};
        vector<int> dy={-1,0,1,-1,0,1,-1,0,1};
        for(int i=0;i<M.size();i++){
            for(int j=0;j<M[i].size();j++){
                int sum=0;
                int count=0;
                for(int k=0;k<9;k++){
                    int x=i+dx[k];
                    int y=j+dy[k];
                    if((0<=x && x<M.size())&&(0<=y && y<M[i].size())){
                        sum+=M[x][y];
                        count++;
                    }
                }
                ans[i][j]=sum/count;
            }
        }
        return ans;
    }
};